﻿Imports System.Data.Common

Public Class Mtraslado
    Public NUM_TRASLADO, COD_USUARIO, OBSERVACION, OBS_ANULACION, COD_USU_ANULA As String
    Public ESTADO As Char
    Public FECHA_TRASLADO, FECHA_ANULACION, FECHA_REGISTRO As DateTime

    Public Shared Function exisMTraslado(ByRef mTras As Mtraslado) As Boolean
        Dim conexion As New ConexionBD.ConexionBD()
        Dim dtConsulta As New DataTable
        If conexion.Conectar() Then
            Dim sentencia As String
            sentencia = "select * from MTRASLADO where NUM_TRASLADO=@NUM_TRASLADO"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, _
                                                                              mTras.NUM_TRASLADO, "NUM_TRASLADO"))
            dtConsulta = conexion.Consulta(sentencia)
            conexion.Desconectar()
        End If

        If dtConsulta.Rows.Count <= 0 Then
            Return False
        Else
            Return True
        End If
    End Function

    Public Shared Function Nuevo(ByRef mtraslado As Mtraslado) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            Dim sentencia As String
            Dim ok As Boolean = False

            sentencia = "SP_MTRASLADO_I"

            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mtraslado.COD_USUARIO, "COD_USUARIO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mtraslado.OBSERVACION, "OBSERVACION"))

            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInChar(conexion, mtraslado.ESTADO, "ESTADO"))

            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInFecha(conexion, mtraslado.FECHA_TRASLADO.Date, "FECHA_TRASLADO"))

            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutString(conexion, "", "NUM_TRASLADO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutChar(conexion, "", "P_ERROR"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutString(conexion, "", "P_MENSAJE"))

            ok = conexion.EjecutarProcedimiento(sentencia)
            oResultado.ExisteError = conexion.ExisteError
            oResultado.Mensaje = conexion.mensaje
            If Not oResultado.ExisteError Then
                oResultado.NumSoporte = conexion.ParametroSalida.Parameters("NUM_TRASLADO").Value
            End If

            conexion.Desconectar()
        End If
        Return oResultado
    End Function

    Public Shared Function Actualizar(ByRef mTraslado As Mtraslado) As Resultado
        Dim conexion As New ConexionBD.ConexionBD()
        Dim oResultado As New Resultado
        mTraslado.ESTADO = "C"
        oResultado.ExisteError = conexion.Conectar()
        If oResultado.ExisteError Then
            Dim sentencia As String
            Dim ok As Boolean = False

            sentencia = "SP_MTRASLADO_U"

            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mTraslado.NUM_TRASLADO, "NUM_TRASLADO"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mTraslado.COD_USU_ANULA, "COD_USU_ANULA"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, mTraslado.OBS_ANULACION, "OBS_ANULACION"))

            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInChar(conexion, mTraslado.ESTADO, "ESTADO"))

            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInFecha(conexion, mTraslado.FECHA_ANULACION.Date, "FECHA_ANULACION"))

            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutChar(conexion, "", "P_ERROR"))
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamOutString(conexion, "", "P_MENSAJE"))

            ok = conexion.EjecutarProcedimiento(sentencia)
            oResultado.ExisteError = conexion.ExisteError
            oResultado.Mensaje = conexion.mensaje

            conexion.Desconectar()
        End If
        Return oResultado
    End Function

    Public Shared Function CosnxNumTraslado(ByRef Mtras As Mtraslado) As DataTable
        Dim conexion As New ConexionBD.ConexionBD()
        Dim dtConsulta As New DataTable
        If conexion.Conectar() Then
            Dim sentencia As String
            sentencia = "select * from MTRASLADO where NUM_TRASLADO=@NUM_TRASLADO"
            conexion.ParametroEntrada = New List(Of DbParameter)
            conexion.ParametroEntrada.Add(ConexionBD.ConexionBD.ParamInString(conexion, _
                                                                              Mtras.NUM_TRASLADO, "NUM_TRASLADO"))
            dtConsulta = conexion.Consulta(sentencia)
            conexion.Desconectar()
        End If
        Return dtConsulta
    End Function

End Class
